// 使用入口函数的目的是加强代码健壮性，后续有人移动js文件书写位置，不产生影响
$(function () {
    // 需求一：点击a标签显示/隐藏盒子
    $('#loginBox a').on('click', function () {
        $('#loginBox').hide();
        $('#regBox').show();
    });
    $('#regBox a').on('click', function () {
        $('#loginBox').show();
        $('#regBox').hide();
    });

    // 需求二：定义校验规则
    let form = layui.form;
    form.verify({
        username: [
            /^[a-zA-Z0-9]{1,10}$/,
            '用户名必须是1到10位的数字和字母'
        ],
        pwd: [
            /^[a-zA-Z0-9]{6,12}$/,
            '密码必须是6-12位的数字和字母'
        ],
        // 确认密码规则
        rePwd: function (value) {
            let pwd = $('#regBox input[name=password]').val();
            if (value !== pwd) {
                return '密码输入不一致';
            }
        }
    });

    // 需求三：完成注册功，发送Ajax请求
    let layer = layui.layer;
    $('#formReg').on('submit', function (e) {
        e.preventDefault();
        axios({
            method: 'post',
            url: '/api/reguser',
            data: $(this).serialize()
        }).then(function (res) {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message, { icon: 5 });
            }
            layer.msg('注册成功！', { icon: 6 });
            $('#regBox a').click();
            $('#formReg')[0].reset();
        });
    });

    // 需求四：完成登录功能，发送Ajax请求
    $('#formLogin').on('submit', function (e) {
        e.preventDefault();
        axios({
            method: 'POST',
            url: '/api/login',
            data: $(this).serialize()
        }).then(function (res) {
            // console.log(res.data);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message, { icon: 5 });
            }
            layer.msg('登录成功', { icon: 6 });
            localStorage.setItem('token', res.data.token);
            location.href = '/index.html';
        });
    });
});